package com.hhkj.admin.train.common.cont;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.HashSet;
import java.util.Set;

/**
 * TrainConst
 *
 * @author HHKJ-SERVER-ZJ
 * @since 2023/5/26 8:28
 */
public class TrainConst
{

    /** 练习模式 json 数据 answer：答题模式；recitation：背题模式 */
    @Getter
    @AllArgsConstructor
    public enum PracticeMode
    {
        ANSWER("answer", "答题模式"),
        RECITATION("recitation", "背题模式"),
        ;
        /** 编码 */
        private final String code;
        /** 名称 */
        private final String name;

        /**
         * 获取codeSet信息
         * @return code得set集合
         */
        public static Set<String> getCodeSet() {
            Set<String> result = new HashSet<>();
            for (PracticeMode mode : values()) {
                result.add(mode.getCode());
            }
            return result;
        }

        @Override
        public String toString()
        {
            return this.code;
        }
    }

    /** 类型编码 练习:practise、测试:test */
    @Getter
    @AllArgsConstructor
    public enum Type
    {
        PRACTISE("practise", "练习题库"),
        TEST("test", "测试题库"),
        ;
        /** 编码 */
        private final String code;
        /** 名称 */
        private final String name;

        @Override
        public String toString()
        {
            return this.code;
        }
    }
}
